#include "task.h"
#include <time.h>

uint8_t task_num = 0;

struct _Task TaskList[] = {
	{0,0,100,1,LedTask},
};

void InitTask(void)
{
	task_num = sizeof(TaskList)/sizeof(TaskList[0]);
	printf("task_num = %d\n",task_num);
}

void TaskRun(void)
{
	uint8_t i;
	for(i = 0;i < task_num; ++i)
	{
		if(TaskList[i].state == 1)
		{
			TaskList[i].state = 0;
			if(TaskList[i].TaskCallBack != NULL)
			{
				TaskList[i].TaskCallBack();
			}
		}
	}
}

void TaskTick(void)
{
	uint8_t i;
	for(i = 0;i < task_num;++i)
	{
		if(TaskList[i].enable == 1)
		{
			TaskList[i].cnt ++;
			if(TaskList[i].cnt >= TaskList[i].aim_val)
			{
				TaskList[i].cnt = 0;
				TaskList[i].state = 1;
			}
		}
	}
}

void *LedTask(void)
{
#ifdef _WIN32
	printf("LedTask\n");
#endif
	return NULL;
}

void *DogFeed(void)
{
	return NULL;
}